package com.ly.gen.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ly.common.core.bean.R;
import com.ly.gen.dto.GenCodeDTO;
import com.ly.gen.dto.GenFilePathDTO;
import com.ly.gen.entity.GenTable;

/**
 * 代码生成-服务
 *
 * @author luoyun
 * @Date: 2025-06-12
 */
public interface IGenService {

    /**
     * 表格列表-已导入
     *
     * @param entity
     * @param page
     * @return
     */
    R getTablePage(GenTable entity, Page<GenTable> page);

    /**
     * 表格列表-全量
     *
     * @return
     */
    R getTableList(String tableName);

    /**
     * 添加表
     *
     * @param tableNames
     * @return
     */
    R addTables(String tableNames);

    /**
     * 删除-id
     */
    R delete(String id);

    /**
     * 获取表信息
     * @param id
     * @return
     */
    R getTableInfo(String id);

    /**
     * 代码生成
     * @param dto
     * @return
     */
    R getCode(GenCodeDTO dto);

    /**
     * 代码预览-文件树
     * @param path
     */
    void getCodeView(String path);

    /**
     * 代码预览-文件树
     * @param dto
     * @return
     */
    R getCodeViewFilePathTree(GenFilePathDTO dto);

    /**
     * 代码预览-文件树
     * @param path
     */
    R getCodeViewText(String path);

}
